package com.dsiab.portalService.mapper;

import com.dsiab.portalService.entity.CommentDto;
import com.dsiab.portalService.entity.PagesDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PagesDao {
  // 查询所有数据
  public List<PagesDto> getAll();

  // 查询某分类下数据
  public List<PagesDto> getListByCate(@Param("cate") int cate,@Param("page") int page);

  // 查询某关键字下数据
  public List<PagesDto> getListByTags(@Param("tag")String cate,@Param("page") int page);

  // 查询所有数据阅读量最多的列表
  public List<PagesDto> getRecomList();

  // 查询30天阅读量最多的列表
  public List<PagesDto> getRecomListBy30();

  // 查询365天内阅读量最多的列表
  public List<PagesDto> getRecomListBy365();

  // 查询详情
  public PagesDto getDetail(@Param("id") int id);


  // 获取所有分类
  public List getCate();

  // 获取标签云
  public List getTags();

  // 更新阅读量，每次点击+1
  public boolean updateViews(PagesDto pagesDto);

  // 通过uuid查询详情
  public PagesDto getDetailByUUID(String id);

  // 查询单篇文章推荐列表
  public List<PagesDto> getRecommendBySameTags(String keywords);
  // 查询站点基本信息
  public Map getSiteInfo();

  // 获取所有专题
  public List getTopicList();

  // 获取专题详情
  public List getTopicDetailList(int topicId);
  // 添加评论
  public void addComment(CommentDto CommentDto);
  
  public List<CommentDto> getCommentByPostId(String postId);

}

